package leetcode.day;

import java.util.Arrays;

// 1189. “气球” 的最大数量
public class MaxNumberOfBalloons {
    public static void main(String[] args) {

    }

    /**
     * 先统计 text 中与单词 balloonballoon 相关的字符数量，由于一个单词需要消耗两个 l 和 o 字符，
     * 对其统计数量进行除 2下取整，然后所有字符的最小出现次数即是能够凑成 balloon 的最大数量。
     *
     * @param text
     * @return
     */
    public int maxNumberOfBalloons(String text) {
        int[] res = new int[5];
        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            if (c == 'b') {
                res[0]++;
            } else if (c == 'a') {
                res[1]++;
            } else if (c == 'l') {
                res[2]++;
            } else if (c == 'o') {
                res[3]++;
            } else if (c == 'n') {
                res[4]++;
            }
        }
        res[2]/=2;
        res[3]/=2;
        // 求数组中的最小值
        return Arrays.stream(res).min().getAsInt();
    }
}
